package com.yonyou.openapi.service;

import com.yonyou.openapi.base.sso.sso.SingleSignOn;
import org.springframework.stereotype.Component;

/**
 * @author nishch
 * @description: 单点登录至YS指定页面
 * @date 2023/7/26
 */
@Component
public class SSOToYSService extends SingleSignOn {


    public String  ssoUrl(String userId,String url){
        return getSSOUrlToUrl2(init(userId),url);
    }



    /**
     * 单点登录凭证列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String voucher_list(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.VOUCHER_LIST);
    }

    /**
     * 单点登录凭证详情页面
     * @param userId 三方用户唯一标识
     * @param billId 凭证id
     * @return 最终单点登录地址
     */
    public String voucher(String userId,String billId){
        return getSSOUrlToUrl(init(userId),String.format(SSOUrl.NEW_VOUCHER,billId));
    }

    /**
     * 单点登录应收发票列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String receivableList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.RECEIVE_ABLE_LIST);
    }

    /**
     * 单点登录收款单列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String collectionList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.COLLECTION_LIST);
    }

    /**
     * 单点登录收款退款单列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String arRefundList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.AR_REFUND_LIST);
    }


    /**
     * 单点登录应收事务列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String fiear_event_receivable_list(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.FIEAR_EVENT_RECEIVE_ABLE_LIST);
    }

    /**
     * 单点登录收款事务列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String ear_event_collection_list(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.EAR_EVENT_COLLECTION_LIST);
    }


    /**
     * 单点登录应付发票列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String payableList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.PAY_ABLE_LIST);
    }


    /**
     * 单点登录付款申请单列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String paymentApplyList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.PAYMENT_APPLY_LIST);
    }


    /**
     * 单点登录付款单列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String paymentList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.PAYMENT_LIST);
    }


    /**
     * 单点登录付款退款单列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String apRefundList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.AP_REFUND_LIST);
    }


    /**
     * 单点登录应付事务列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String apPublicEvent_list(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.AP_PUBLIC_EVENT_LIST);
    }


    /**
     * 单点登录应付事务列表页面
     * @param userId 三方用户唯一标识
     * @return 最终单点登录地址
     */
    public String paymentEventList(String userId){
        return getSSOUrlToUrl(init(userId),SSOUrl.PAYMENT_EVENT_LIST);
    }
}
